package com.gopay.common.util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

public class RedisUtil {

	/**
	 * 数据源
	 */
	private JedisPool jedisPool;

	/**
	 * 获取数据库连接
	 * 
	 * @return conn
	 */
	public Jedis getConnection() {
		return jedisPool.getResource();
	}

	/**
	 * 关闭数据库连接
	 * 
	 * @param conn
	 */
	public void closeConnection(Jedis jedis) {
		if (null != jedis) {
			try {
				jedisPool.returnResource(jedis);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * 关闭有问题的数据库连接
	 * 
	 * @param conn
	 */
	public void closeBrokenConnection(Jedis jedis) {
		if (null != jedis) {
			try {
				jedisPool.returnBrokenResource(jedis);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * 设置连接池
	 * 
	 * @param 数据源
	 */
	public void setJedisPool(JedisPool jedisPool) {
		this.jedisPool = jedisPool;
	}

	/**
	 * 获取连接池
	 * 
	 * @return 数据源
	 */
	public JedisPool getJedisPool() {
		return jedisPool;
	}
}
